package com.zmn.oms.services.interfaces.worktrack;

import com.zmn.oms.model.entity.omstrack.OrderWorkTrack;

import java.util.Collection;
import java.util.List;

/**
 * @ClassName OmsTrackService
 * @description:
 * @author: wangyanci
 * @create: 2021-05-12 18:18
 * @Version 1.0
 **/
public interface WorkTrackService {

    void insert(OrderWorkTrack orderWorkTrack);

    void delete(Long orderId, Long workId, Integer trackType);

    OrderWorkTrack getWorkTrackByTrackTypeSrcMaster(Long orderId, Long workId, Integer trackType);

    /**
     * 根据订单id、工单id、跟单类型查询跟单
     * @param orderId
     * @param workId
     * @param trackType
     * @return
     */
    OrderWorkTrack getWorkTrackByTrackType(Long orderId, Long workId, Integer trackType);

    List<OrderWorkTrack> queryListByOrderIdSrcMaster(Long orderId, Long workId);

    List<OrderWorkTrack> queryListByOrderIdsSrcMaster(Collection<Long> orderIds);

    List<OrderWorkTrack> getWorkTrackByTrackTypeList(Long orderId, Long workId, List<Integer> trackTypeList);

    List<OrderWorkTrack> getWorkTrackByTrackTypeListSrcMaster(Long orderId, Long workId, List<Integer> trackTypeList);
}